Transactional Execution: Toward Reliable, High-Performance Multithreading

نویسندگان

  • Ravi Rajwar
  • James R. Goodman
چکیده

0272-1732/03/$17.00  2003 IEEE Published by the IEEE computer Society Explicit hardware support for multithreaded software, either in the form of shared-memory chip multiprocessors or hardware multithreaded architectures, is becoming increasingly common. As such support becomes available, application developers are expected to exploit these developments by employing multithreaded programming. But although threads simplify the program’s conceptual design, they also increase programming complexity. In writing sharedmemory multithreaded applications, programmers must ensure that threads interact correctly, and this requires care and expertise. Errors in accessing shared-data objects can cause incorrect program execution and can be extremely subtle. As hardware support for shared-memory applications, we have proposed the use of Transactional Lock Removal (TLR), which ensures high performance while simplifying error-free programming and providing application stability. TLR uses Speculative Lock Elision (SLE) as an enabling mechanism. In SLE, the hardware dynamically identifies synchronization operations, predicts them as being unnecessary, and elides them. By removing these operations, the program behaves as if synchronization were not present. The hardware can then exploit situations that do not require synchronization for a correct execution, and the hardware makes this determination without even performing the synchronization itself. TLR treats a lock-based critical section as a lock-free, optimistic transaction, using SLE to elide the lock, which in turn lets multiple threads enter a critical section protected by the same lock and execute the critical section speculatively. As in SLE, the hardware reads and monitors the lock in a shared state, but ordinarily does not write it. TLR uses the critical shared data itself to order any conflicting data accesses and thus provides successful lock-free execution, even Ravi Rajwar

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Mutual Exclusion and Atomicity Checks

This paper provides an introduction to the Automatic Mutual Exclusion (AME) programming model and to its formal study, through the AME calculus. AME resembles cooperative multithreading; in the intended implementations, however, software transactional memory supports the concurrent execution of atomic fragments. This paper also studies simple dynamic and static mechanisms for atomicity checks i...

متن کامل

Designing NEKO : A Speculative Multithreading Chip Multiprocessor

Chip multiprocessor (CMP) approach has drawn a great attention as a new platform for next-generation microprocessors. A CMP supports multithreading execution and is very suitable for server workloads in which thread-level parallelism is abundant. However, the multithreading resources are underutilized in desktop workloads where typically only a few threads are running at the same time. Furtherm...

متن کامل

DeLorean: Recording and Deterministically Replaying Shared-Memory Multiprocessor Execution Efficiently

Support for deterministic replay of multithreaded execution can greatly help in finding concurrency bugs. For highest effectiveness, replay schemes should (i) record at production-run speed, (ii) keep their logging requirements minute, and (iii) replay at a speed similar to that of the initial execution. In this paper, we propose a new substrate for deterministic replay that provides substantia...

متن کامل

Helper Transactions: Enabling Thread-Level Speculation via A Transactional Memory System

As multi-core processors become readily available in the market, how to exploit parallelization opportunities to unleash the performance potential has become the utmost concern. Thread-Level Speculation (TLS) has been studied as one such enabling technique to automatically extracting possibly nonconflicting threads for execution in a program. On the other hand, transactional memory (TM) systems...

متن کامل

Integrating Multiple Forms of Multithreaded Execution on SMT Processors: A Quantitative Study with Scientific Workloads

Simultaneous multithreaded (SMT) processors have penetrated the mainstream computing market, since they offer a number of cost / performance advantages over conventional superscalar processors at a nominal additional cost. Simultaneous multithreading can be used in the execution engine of a single monolithic microprocessor, or be embedded and replicated in the execution cores of a chip multipro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IEEE Micro

دوره 23  شماره 

صفحات  -

تاریخ انتشار 2003